package com.yunyao.common.dto.excel;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelIgnore;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class InvoiceExcelDto implements Serializable {
    /**
     * 主键ID
     */
    @ExcelIgnore
    private String id;


    /**
     * 合同名称
     */
    @Excel(name = "合同名称",orderNum = "2")
    private String contractName;

    /**
     * 发票来源 0=对账单 1=结算单
     */
    @Excel(name = "发票来源",orderNum = "8")
    private String invoiceSource;
    /**
     * 发票类型 0=数电发票 1=数电转票
     */
    @Excel(name = "发票类型",orderNum = "4")
    private String invoiceType;

    /**
     * 发票金额
     */
    @Excel(name = "发票金额",orderNum = "6")
    private BigDecimal invoiceAmount;


    /**
     * 发票抬头
     */
    @Excel(name = "发票抬头",orderNum = "5")
    private String invoiceHeader;


    /**
     * 数据状态
     */
    @Excel(name = "数据状态",orderNum = "13")
    private Integer status;


    /**
     * 是否逾期
     */
    @Excel(name = "逾期情况",orderNum = "7")
    private String expectPaymentStr;


    /**
     * 项目名称
     */
    @Excel(name = "项目名称",orderNum = "3")
    private String projectName;





    /**
     * 开票时间
     */
    @ExcelIgnore
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date invoicingDate;


    /**
     * 开票状态0 正常 1作废 2红冲
     */
    @Excel(name = "开票状态",orderNum = "12")
    private Integer invoicingStatus;



    /**
     * 合同编号
     */
    @Excel(name = "合同编号",orderNum = "1")
    private String contractNo;

    /**
     * 申请人
     */
    @Excel(name = "申请人",orderNum = "9")
    private String applyName;

    /**
     * 申请时间
     */
    @Excel(name = "申请时间",orderNum = "10")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date applyDate;


    /**
     * 发票绑定状态0未绑定1已绑定
     */
    @Excel(name = "关联发票",orderNum = "8")
    private String invoiceBindStatus;


    /**
     * 发票接收状态
     */
    @Excel(name = "发票状态",orderNum = "11")
    private String invoiceReceiveStatus;



//    /**
//     * 合同ID
//     */
//    private String contractId;
//
//
//
//    /**
//     * 收票人
//     */
//    private String invoicePerson;
//
//    /**
//     * 联系方式
//     */
//    private String invoicePersonPhone;
//
//    /**
//     * 收票地址
//     */
//    private String invoicePersonAddress;
//
//    /**
//     * 收票邮箱
//     */
//    private String invoicePersonEmail;
//
//    /**
//     * 收票备注
//     */
//    private String invoicePersonMark;
//
//    /**
//     * 项目发票类型 0=项目公司发票 1=项目发票
//     */
//    private String invoiveProjectType;
//
//    /**
//     * 发票部门ID
//     */
//    private String invoiceDeptId;
//
//    /**
//     * 发票部门名称
//     */
//    private String invoiceDeptName;
//
//
//
//    /**
//     * 公司税号
//     */
//    private String companyTaxNo;
//
//    /**
//     * 开户行
//     */
//    private String openBank;
//
//    /**
//     * 开户行帐号
//     */
//    private String bankAccount;
//
//    /**
//     * 注册电话
//     */
//    private String registerPhone;
//
//    /**
//     * 注册地址
//     */
//    private String registerAddress;
//
//    /**
//     * 注册备注
//     */
//    private String registerMark;
//
//
//    /**
//     * 删除标识
//     */
//    private Integer isDeleted;
//
//    /**
//     * 创建人
//     */
//    private String createdBy;
//
//    /**
//     * 创建部门
//     */
//    private String createDept;
//
//    /**
//     * 创建时间
//     */
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
//    private Date createdAt;
//
//    /**
//     * 修改人
//     */
//    private String updatedBy;
//
//    /**
//     * 修改时间
//     */
//    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
//    private Date updatedAt;
//
//
//    /**
//     * 预计收款时间
//     */
//    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
//    private Date expectPaymentDate;
//
//
//    /**
//     * 当前日期到预计收款时间天数
//     */
//    private Long expectPaymentNum;
//
//
//    /**
//     * 租户ID
//     */
//    private String tenantId;
//
//    /**
//     * 项目ID
//     */
//    private String projectId;
//
//
//
//    /**
//     * 项目所属部门ID
//     */
//    private String projectDeptId;
//
//    /**
//     * 项目所属部门名称
//     */
//    private String projectDeptName;
//
//    /**
//     * 供应商部门ID
//     */
//    private String supplierDeptId;
//
//    /**
//     * 供应商部门名称
//     */
//    private String supplierDeptName;
//
//    /**
//     * 采购单位ID
//     */
//    private String purchaseDeptId;
//
//    /**
//     * 采购单位名称
//     */
//    private String purchaseDeptName;
//
//    /**
//     * 红冲的原发票ID
//     */
//    private String sourceInvoiceId;
//
//
//    /**
//     * 开票代码
//     */
//    private String invoicingCode;
//
//    /**
//     * 开票号码
//     */
//    private String invoicingNo;
//
//    /**
//     * 开票税率
//     */
//    private BigDecimal invoicingRate;
//
//    /**
//     * 开票金额(元)
//     */
//    private BigDecimal invoicingPrice;
//
//    /**
//     * 开票不含税金额（元）
//     */
//    private BigDecimal invoicingNotaxPrice;
//
//    /**
//     * 开票税额
//     */
//    private BigDecimal invoicingRatePrice;
//
//    /**
//     * 开票附件
//     */
//    private String invoicingFile;
//
//    /**
//     * 开票备注
//     */
//    private String invoicingMark;
//
//    /**
//     * 发票数据类型 0=云采开票 1=供应商开票
//     */
//    private String invoiceDataType;
//
//
//
//    /**
//     * 合同类型0主合同1补充合同
//     */
//    private String contractType;
//
//
//
//    /**
//     * 附件状态
//     */
//    private String fileStatus;
//
//    /**
//     * 合同含税总额
//     */
//    private BigDecimal contractTotalPrice;
//
//    /**
//     * 合同方式0电线电缆及光纤光缆 1 电梯及扶梯
//     */
//    private String contractMethod;
//
//    /**
//     * 开票类型0手工 1 新中大
//     */
//    private String openInvoiceType;
//
//    /**
//     * 收票时间
//     */
//    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
//    private Date invoiceReceiveDate;
//
//    /**
//     * xml发票文件
//     */
//    private String invoicingXmlFile;
//
//
//    /**
//     * 绑定的发票ID
//     */
//    private String invoiceBindId;
//
//    /**
//     * 绑定的发票名称
//     */
//    private String invoiceBindName;
//
//
//
//    /**
//     * 对应的红冲单据id
//     */
//    private String redInvoiceId;
//
//    /**
//     * 收款或付款的关联金额
//     */
//    private BigDecimal relatedAmount;
//
//    /**
//     * 收款或付款关联状态（1 未关联，2 部分关联，3 已关联）
//     */
//    private String relatedStatus;
//    /**
//     * 订单总数量
//     */
//    private Integer orderNum;
//
//    /**
//     * 本次开票订单数
//     */
//    private Integer orderInvoiceNum;
//
//    /**
//     * 可开票订单数
//     */
//    private Integer ordercanInvoiceNum;
}
